









en would probably help if you don't need it.
module prsg31_stream32 (
input wire clk,
input wire rst, // synchronous, active-high
input wire en,
output reg [31:0] out
);
reg [31:0] lfsr;
always @(posedge clk) begin
if (rst) begin
lfsr <= 32'hffff_ffff;
out <= 32'hffff_ffff;
end else if (en) begin
lfsr[31:16] <= lfsr[30:15] ^ lfsr[27:12];
lfsr[15:4] <= lfsr[14:3] ^ lfsr[11:0];
lfsr[3:1] <= lfsr[2:0] ^ lfsr[30:28] ^ lfsr[27:25];
lfsr[0] <= lfsr[30] ^ lfsr[12];
out[31:16] <= lfsr[30:15] ^ lfsr[27:12];
out[15:4] <= lfsr[14:3] ^ lfsr[11:0];
out[3:1] <= lfsr[2:0] ^ lfsr[30:28] ^ lfsr[27:25];
out[0] <= lfsr[30] ^ lfsr[12];
end
end
endmodule






1 and then it might not need explicit initializing.

bit[I]/not(bit[I]) because they are consumed by differential current mode logic.
If it's not too expensive to do those couple control bits and the two optionally-inverted (that'd be control bits that stay in the digital section) single-bit-each shifted stream copies, it might even be realistic to do a 3-tap FIR TX EQ.
If it's easy to do those copies I would do them at a faster stage of the MUX as it would be cheaper than so many wide slow speed MUXes to collect them all up to some decent speed.
Like, at 8-wide perhaps.
Note that we don't have flip flops but we do have two nice symmetric clock phases and the latches we have freely allow phase selection.
And MUX2 are also fast and fairly cheap.
Especially if their select inputs are driven by CMOS voltage levels.
And ofc data inversion is literally free because it's just crossing the wires.














